package com.cmcc.sdtp.sdtp.message;

import java.util.List;

import com.cmcc.xdr.message.IXDRData;

/**
 * 先拿这两个类凑活，等后面再看怎么重构吧
 * 
 * @author Administrator
 * 
 */
public class XDRRawDataSendReqMsg extends MessageBody {

	/**
	 * RAT 1 RAT类型
	 */
	private int rat;
	/**
	 * 
	 Interface 1 接口类型
	 */
	private int interfaceType;

	/**
	 * 
	 XDR ID 16 XDR ID信息
	 */
	private String xdrID;

	/**
	 * 
	 原始码流条目数 2 原始信令或原始业务包头总条目数N
	 */
	private int rawDataCount;

	/**
	 * 
	 Length Total 2 后续原始码流总长度，单位为Byte，包括本字段之后的信息块长度指示字段，不包括结束标志。
	 */
	private int totalLength;

	/**
	 * 具体传输的XDR数据
	 */
	private List<IXDRData> xdrDataList;

	public XDRRawDataSendReqMsg() {
		super();
	}

	public XDRRawDataSendReqMsg(SDTPMessage message) {
		super(message);
		rat = message.loadInt(1);
		interfaceType = message.loadInt(1);
		xdrID = message.loadHexStr(16);
		rawDataCount = message.loadInt(2);
		totalLength = message.loadInt(2);

		// TODO xdrDataList
	}

	/**
	 * 返回消息体长度
	 */
	@Override
	public int getLength() {
		// 1+16+2=21
		return 21 + totalLength;
	}

	@Override
	public void encode() {
		message.write(rat, 1)
				.write(interfaceType, 1)
				.write(xdrID, 16)
				.write(rawDataCount, 2)
				.write(totalLength, 2);
//		for (IXDRData item : xdrDataList) {
//			item.encode(message);
//		}
	}

	public List<IXDRData> getXdrDataList() {
		return xdrDataList;
	}

}
